package main

import "fmt"

func main() {
	//切片就是可变长度的数组,它比固定长度的数组更为常用。切片就类似php中的索引数组
	//能看出，定义切片和数组，唯一的区别，就是不需要指定长度
	var sl []int //创建零值切片
	if sl == nil {
		fmt.Println("nil")
	}

	//申明一个字符串切片，并赋值。注意是用花括号。申明切片的记忆： []类型名{}
	strArr := []string{"aa", "bb", "cc"}
	fmt.Println(strArr)
	fmt.Println(strArr[1])

	//结构体切片。类似数组中装了很多对象。先定义好结构体。数组中的每一个元素，就是一个结构体
	s := []struct {
		i int
		b bool
	}{ //以上三行代码，可以理解为是自定义了一个匿名的结构体
		{2, true},
		{3, false},
		{5, true},
		{7, true},
		{11, false},
		{13, true},
	}
	fmt.Println(s)
}
